Information printing and storage system

ABSTRACT

An information printing and storage system in which a printer prints alphanumeric characters and a self-clocking code pattern on paper or card stock. A transducer scanning the printed lines senses the code pattern and provides an electrical output signal representative of the information imprinted.

United States Patent 1191 Potter [4 June 19, 1973 [54] INFORMATION PRINTING AND STORAGE 2,788,879 4/1957 Rand 197 1 R SYSTEM 2,791,310 5 1957 Jones 197/172 x r 2,848,088 8/1958 Shaw 197/1 R [75] Inventor: John T. Potter, Pla1nv1ew, NY. 3,223,033 12/1965 Sundblad.... 101/368 r .2 3,314,360 4/1967 Foster 101/93 C Asslgneei Potter lnslrumentCompani/JIIC 3,416,442 12/1968 Brown et al. 101 93 0 Plainview, N.Y. 3,463,081 8/1969 Levine 101 93 c [22] Filed: Mar. 8, 3,623,427 11/1971 Buehrmann et a1 101/93 c [21] Appl. No.: 122,212

' Related U.S. Application Data Primary Examiner-William B. Penn AttorneyLane Aiken Dunner & Ziems [62] Division of Ser. No. 823,054, May 8,1969, Pat. No.

3,656,429 57 ABSTRACT [52] U.S. Cl. 101/93 C, 197/1 R, 101/90 An information printing and storage system in which a [51] Int. Cl. B4lj 1/20, B41 j 3/00 printer prints alphanumeric characters and a self- [58] Field of Search.....'. 101/93 C, 111, 90, c ing e p ttern on paper or card stock. A transf 101/399; 197/] R, 172 ducer scanning the printed lines senses the code pat- I I tern and provides an electrical output signal represen- [56] References Cited tative of the information imprinted.

N T STATES PATENTS 4 Claims, 13 Drawing Figures 2,350,893 6/1944 l-lofgaard 101/399 X 2,745,532 5/1956 Crawford 197/1 R I o o 5% o m o T s 2 Z I m, 24 1? 46 MOTOR :3; JIJ- 1 73 BO 1 v M DECODE m JJUUJJHHJHHJUH o a LOGIC 44 o 7 l4 8 OOMPARMDR TA BUFFER 42 PRIMER 22222222; w

CONTROL 1 Patented June 19, 1973 6 Sheets-Sheet 2 ERROR SIGNAL PAR -TY COUNTER rm v F F F F F F F F F F F F F F v p y l 2 6 7 s w w m W m w Patented June 19, 1973 6 sh68t3 s eet 5 C mr EEE m Patented June 19, 1973 6 Sheets-Sheet 5 Patented June 19, 1973 6 Sheets-Sheet 6 INFORMATION PRINTING AND STORAGE SYSTEM CROSS-REFERENCE TO RELATED APPLICATION This application is a division of copending application Ser. No. 823,054, filed May 8, 1969 which has matured into U.S. Pat. No. 3,656,426 patented Apr. 18, 1972.

BACKGROUND OF THE INVENTION This invention relates to an information printing and storage system, and, more particularly, to an improved system for printing data for a data processing device, such as a computer, in a combined format of alphanumeric characters and binary code markings.

Modem electronic data processing computers rarely make an undetected error. However, the manual operators of these computers often make errors when preparing data for use by the computer, and these errors often enter the system undetected. Once entered, such errors are extremely hard to find, and therefore, difficult to correct.

Commonly, redundant schemes are used to reduce the number of errors in entering the data. For example, two operators may prepare the same data for entry to the computer. These two entries are then compared on the theory that it is improbable for two people to make the same error. Such schemes, however, are expansive and, of course, do not guarantee the absence of error.

Also, information once entered in a computer by commonly used prior art system is not readily available for verification, or other purposes, independently of the computer.

SUMMARY OF THE INVENTION It is therefore an object of the present invention to provide an information printing and storage system which enables the printed information to be easily checked, and stored in a manner permitting it to be readily utilized for other purposes.

Briefly summarized, the information printing and storage system of the present invention includes an impact printer which simultaneously prints alphanumeric characters and a self-clocking code pattern identifying the character on a sheet of paper. After printing a line, a transducer scans the line at a relatively high speed, senses the code pattern, and provides output signals representing the printed characters. A double ribbon system may be used, which enables a system of alphanumeric characters to be printed on one side of the paper, and a code pattern on the other.

BRIEF DESCRIPTION OF TI-IE'DRAWINGS Reference is now made to the accompanying drawings for a better understanding of the nature and objects of the information printing and storage system of the present invention, which drawings illustrate the best mode presently contemplated for carrying out the objects of the invention and its principles.

FIG. 1 is a front elevational-diagrammatic view of an embodiment of the information printing and storage system of the present invention;

FIG. 2 is a partial perspective view of a portion of the embodiment of FIG. 1;

FIG. 3 is a perspective view of an etched type face which is utilized in the present invention;

FIG. 4 is a view depicting a typical set of alphanumeric characters and code patterns that can be printed according to the present invention;

FIG. 5 is an elevational view of the face of the transducer head utilized in the present invention;

FIGS. 6 through 8 are block diagrams illustrating the circuitry utilized in the present invention;

FIG. 9 is a side elevational view of a portion of the printer in accordance with another embodiment of the present invention;

FIG. 10 and FIG. 11 is a top plan view, and a side elevational view, respectively, of another embodiment of the present invention;

FIG. 12 is a plan view illustrating the details of a printing chain used in the embodiment shown in FIGS. 10 and 11; and,

FIG. 13 is a schematic perspective view of another embodiment of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS In FIGS. 1 and 2, the reference numeral 10 designates a continuous web of paper sheet, which is intermittently advanced in a direction indicated by the arrow A by means of a motor 12 driving a pair of drive sprockets (not shown) which engage a series of perforations along the sides of the sheet. The sheet 10 passes by a print line defined between a plurality of aligned, solenoid-operated print hammers, shown generally by the reference numeral 14, and a printing chain 16 which is continuously driven by a motor 18 in an endless path in a spaced relation to the hammers 14. The printing chain is formed by an assemblage of type elements 19 or slugs on an endless carrier loop, such as integral flexible belt. At least one composite information recording ribbon is provided between the print hammers 14 and the printing chain 16, such as a ribbon 20 shown in FIG. 2. The above arrangement is disclosed in detail in U.S. Pat. No. 3,402,657, the disclosure of which is incorporated by reference.

A magnetic transducer 22 is disposed in a spaced relationship from the printing line, is carried back and forth across the sheet 10 by a belt 24 driven by a reversible motor 26, and is guided by means of a sleeve 28 riding on a guide bar 30. The basic components discussed above are all mounted with respect to a frame or housing in a conventional manner.

In general, the basic printing operation is carried out by initiating stepped movement of the-web 10 in the direction indicated by the arrow A, and selectively firing the print hammers 14 at predetermined positions of the continuously rotating chain 16 to imprint any number of desired characters and/or code patterns upon the sheet 10 via the ribbon 20. After a line is printed and the web moved again, the transducer 22 is actuated to read the line just printed and provide output signals representing the printed characters. Theseoperations and the use of the output signals are described in greater detail below.

A typical type element which forms a portion of the printing chain 16 is shown in FIG. 3. According to the present invention, most of the type elements have both an alphanumericcharacter 34 and a code pattern 36 representing the character raised on the face portion thereof. The alphanumeric character 34 on the face of the element shown in FIG. 3 is a mirror image of the character to be printed, and the code pattern 36 is imprinted by any number of from one to four bits in four bit positions disposed at the bottom and top of the alphanumeric character 34, as viewed in FIG. 3, each character, of course, having a different code pattern of bits. The ribbon 20 is impregnated with suitable magnetic ink known in the art such as an ink in which iron oxide particles are suspended. Both an alphanumeric character and a magnetic code pattern can be imprinted on the sheet with one impact. A series of printed alphanumeric characters and their corresponding code patterns are shown in FIG. 4.

One of the type elements does not have an alphanumeric character but only a code pattern, which is imprinted in the blank spaced between letters to represent the presence of the blank, as shown between the letters C and D in FIG. 4. Accordingly, output signals will be generated by the transducer 22 for each character position of a printed line even though some of the character positions do not contain a printed alphanumeric character. Thus, a clock signal can be derived from the output signals of the transducer for each character position and, accordingly, the printed code is self clocking.

As shown in FIG. 5, the transducer 22 has two gaps 22a and 22b, which are separated by a distance corresponding to the distance between the bits above and below the alphanumeric characters, so that the transducer can read the bits in the form of magnetic markings above and below the character producing an output pulse in response to each bit.

Each bit pattern may be considered to contain four pairs of bit positions with each pair consisting of a bit position in the top row above the character and a bit position in the corresponding location in the bottom row below the character. When the transducer 22 scans the printed line, the gaps 22a and 22b read out from the bit positions of each printed pair simultaneously. In one embodiment of the present invention, the code patterns are selected so that each pair of bit positions contains at least one bit. As a result, the transducer 22 will produce at least one output pulse from each pair of bits. Accordingly, a clock pulse can be derived from the signals produced by the transducer 22 for each pair of bit positions and thus the self clocking aspect of the present invention is improved.

As shown in FIG. 1, an information source, such as a keyboard 40, is provided which includes apparatus for encoding information as electric pulses so that the information to be processed can be manually entered into the system. The output of the keyboard 40 is stored in a data buffer 42 until a predetermined amount of information, such as one line or column, has accumulated. The information thus stored is then applied to a printer logic circuit 44, which is responsive to the instantaneous position of the type elements on the continuously driven printing chain 16, and which actuates the print hammers l4 accordingly, to print the line of characters represented by the data stored in the buffer 42. When an entire line has been printed, the output from the printer logic circuit 44 signals the printer control 50, which then actuates the motor 12 to cause the web to advance one line to a position where the line just printed is aligned with the transducer 22. The printer control 50 then actuates the motor 26 to drive the transducer 22 across the line just printed so that the gaps 22a and 22b can read the code patterns imprinted on the line.

The resulting output pulses produced by transducer 22 are fed to a decoding circuit 46, which decodes the output of the transducer and couples it to a comparing circuit 48 where the information is compared to that stored in the data buffer 42. If the data applied to the comparator 42 by the decoder 46 corresponds to the data in the data buffer, the printer control 50 will clear the data buffer and indicate that the system is then ready for the entry of the next line of characters. In the event an error in the information recorded occurs, the comparing circuit 48 will detect a difference between the signals applied from the decoder 46 and the signals in the data buffer 42 and will apply an error signal to the printer control 50. In response to such signal, the printer control 50 will cause the printer logic 44 to reprint the line of characters still represented by the signals stored in the data buffer.

Of course, the output of the transducer 22 can also be stored on magnetic tape for use in other systems, or the like, and it can be appreciated that a paper sheet, similar to sheet 10, which has been previously printed with magnetic information can be passed through the system in order that the information can be read by the transducer 22 and a corresponding output signal generated.

The data buffer 42 comprises a plurality of binary registers each of which stores signals representing a character to be printed in a different character position in a line on the sheet 10. Each character is represented by a different eight digit binary number. The binary numbers representing the characters increase incrementally in accordance with the position of the characters on the printing chain 16. Thus, if the characters are arranged in sequence A, B, C, D, etc. on the printing chain 16 and the character A is in the first position, then the character A will be represented in the data buffer 42 by the binary number 00000001, the character B will be represented by the binary number 00000010, the character C will be represented by the binary number 00000011 and the character D will be represented by the binary number 00000100. Each character on the chain is represented in this manner by incrementally higher binary number than the preceding character on the chain with the last character immediately preceding the character A being represented by the highest binary number.

Each time the characters on the printing chain get into the precise position to be printed by the print hammers, hereinafter referred to as the print position, a signal derived from a tone wheel 71 is applied to an input 73 of the printer logic 44. As shown in FIG. 6 which illustrates details of the printer logic 44, the signal applied to input 73 is applied to a set of flipflops 75, there being one flipflop 75 for each hammer of the printer. Those of the flipflops 75 which correspond to a hammer which is to .be fired to print the character which has just come opposite such hammer will have been previously set by the printer logic circuitry in a manner to be described. The signal at input 73 resets these flipflops 75, which upon being reset apply signals to the corresponding hammer firing circuits 77. The hammer firing circuits in response to the applied signals fire the corresponding hammers to print the characters which are opposite the hammers.

Each signal applied to the input 73 is also applied to a counter 79 to increase the count registered in the counter 79 by one. The count registered by the counter 79 continuously represents the position of the printing chain. When the printing chain reaches the index position which is just prior to the character A coming into the first or left-hand print position in the print line, the counter 79 will be reset to zero by a special index signal derived from the tone wheel 71 applied to counter 79 over channel 80. This index signal may be generated in the manner disclosed in the US. Pat. to Doersom, Jr. No. 3,1 17,314. Then when the character A comes into the first print position, the signal applied by the tone wheel on input 73 increases the count in the counter 79 to 00000001. When the character B gets to the first print position, the signal applied to input 73 will increase the count in the counter 79 to 00000010. Thus, the counter in the counter 79 continuously represents the position of the printer chain by representing the binary code of the character which last passed through the first print position in the print line.

Each signal applies to input 73 upon a new set of characters coming into print position is applied to a delay device 81 which after a short delay applies an enabling signal to a multiple channel gate 83 and also to a counter 85. When the multiple channel gate 83 is enabled it passes signals representing the binary count in the counter 79 to a counter 87, which in response to receiving these signals is updated to the count currently registered by the counter 79. The counter 87 counts pulses applied thereto by high frequency pulse generator 89 through a gate 91.

When the data buffer has been filled with binary signal sets representing an entire line of characters to be printed, the data buffer 42 applies a signal through an OR gate 90 to a flipflop 92 to set the flipflop 92 in its A state. The flipflop 92 upon being set to its A state applies an enabling signal to the gate 91. The signal applied to input 73 upon a set of characters coming into print position is also applied to monostable multivibrator 93, which upon receiving this signal applies a disabling signal to the gate 91 for a predetermined time interval, which is long enough for the counter 87 to be updated with the count stored in the counter 79 in response to the output signal from the delay circuit 81. The gate 91 will be enabled and pass the high frequency pulses generated by the generator 89 whenever it receives an enabling signal from the flipflop 92 and does not receive a disabling signal from the monostable multivibrator 93. It will not be enabled and will block the high frequency pulses whenever it does not receive an enabling signal from flipflop 92 or whenever it does receive adisabling signal from the multivibrator 93.

When the gate 91 becomes enabled at the end of the disabling signal applied by the multivibrator 93, the high frequency pulses produced by the generator 91 will be counted by the counter 87 and the count registered by the counter 87 will increase by one increment in response to each applied pulse. When the count in the counter 87 reaches the binary number representing the character in the position in the printer chain just preceding the character A, that is the highest binary number representing a character, the next pulse applied to the counter 87 will cause the counter 87 to recycle to a count of 00000001. Thus, the pulses applied to the counter 87 by the high frequency pulse generator 89 causes the counter 87 to continuously cycle through binary values representing all of the characters carried by the print chain 16. The frequency of the pulses produced by the generator 89 is such relative to the speed of the printing chain that the counter 87 is caused to go through at least one complete cycle between input signals applied on channel 73 from the tone wheel. The successive counts registered by the counter 87 are applied to a comparator 97 which compares the successive signals with successive sets of binary signals applied to the comparator 97 from the data buffer 42 and representing the characters to be printed in the order that they are to be printed from left to right in the print line.

The binary output signals representing the characters stored in the registers of the data buffer 42 are applied to multichannel gates 99, each of which receives a set of binary signals representing a different character stored in the data buffer 42. The gates 99 are enabled in sequence by the counter in response to pulses applied to the counter 85 by the high frequency pulse generator 89. As pointed out above, the output signals of the delay circuit 81 are applied to the counter 85. Each of these signals resets the counter 85 to a start condition in which it enables none of the gates 99. At the time each signal from the delay circuit 81 is applied to the counter 85, the gate 91 will be disabled so no pulses will be applied to the counter 85 from the generator 89 at the time it is being reset. After the counter 85 has been reset and the gate 91 again becomes enabled, the first pulse passing through the gate 91 will advance the counter 85 to a condition in which it enables the gate 99 connected to receive the binary signal set stored in the first register of the data buffer and representing the character to be printed in the first position in the print line. As a result, these binary signals representing the character to be printed in the first position will pass through to the comparator 97. When the next pulse is applied to the counter 85 by the pulse generator 89, the counter 85 will enable the next gate 99 to pass the signals representing the second character to be printed in the second character position in the print line. In response to the succeeding pulses, the counter 85 will enable successive ones of the gates 99 so that binary signals representing each of the characters to be printed are applied in sequence to the comparator 97 in the order that they are to be printed in the print line.

Since the pulses produced by the generator 89 are also advancing the count registered by the counter 87, the change in the signals received from the data buffer 42 is in synchronism with the change in the signals representing the counts registered by the counter 87. When the comparator 97 determines that the count ap plied in the counter 87 is identical with the signals being applied thereto from the data buffer 42, it will produce an output signal, which is applied to a series of gates 101.

The outputs of the gates 101 are applied severally to the flipflops 75. The gates 101 thus each correspond to a different one of the character positions in the print line. The gates 101 are enabled in sequence by the output of the counter 85 in synchronism with the enabling of the gates 99 so that the gate 101 corresponding to the first character position is enabled when the gate 99 corresponding to the character to be printed in the first character position is enabled and each successive gate 101 is enabled when a corresponding gate 99 is enabled.

When the comparator 97 produces an output signal as a result of detecting that signals passing through one of the gates 99 are identical with the signals applied from the counter 87, the output signal of the comparator 97 will pass through the one of the gates 101 corresponding to the enabled gate 99 and set the corresponding flipflop 75. As the counter 82 cycles through the entire range of counts representing all of the characters on the print chain and the commutator 85 successively enables all of the gates 99 and 101 in synchronism therewith, a number of the gates 75 may be set. This will be accomplished before the next signal is applied on input 73 indicating that a new set of characters have now come into print position. When the next signal appears on input 73 the flipflops 75, which have been set, will be reset and will produce output signals firing the corresponding hammers 75 thus causing characters to be printed in the corresponding character positions in the print line. The entire process will then be repeated as the print chain moves to advance each character one character position to the left and additional characters will be printed in selected character positions. This process will be repeated until the entire chain of characters has passed all of the character positions, at which time the entire line of the desired characters will be printed.

An understanding of how the system correctly prints the correct character in the correct character position may be obtained by considering the printing of one specific character in one specific character position. For example, suppose it is desired to print the character E in the third character position, that is, the third position from the left. This will mean that the register of the data buffer storing the character to be printed in the third character position will have stored in it the binary number 00000101. The hammer opposite the third character position must be fired when the E comes into the third print position which will be the same time that the C comes into the first print position. While the C is approaching the first print position, the counter 79 will have stored therein the binary number 00000010 as a result of the character B having been the last character to pass through the first print position. This count will have updated the count in the counter 87 as a result of an output signal produced by the delay circuit 81 and the counter 87 will begin counting from a count 00000010 when the gate 91 becomes enabled. When the gate 99 corresponding to the data buffer register storing the character to be printed in the third print position becomes enabled upon the third pulse applied to the counter 85 from the pulse generator 89, the counter 87 will have increased the count registerd in the counter 87 to 00000101. Thus, when the gate 99 corresponding to the register storing the character to be printed in the third character position is enabled, the comparator will receive signals representing the binary number 00000101 from both counter 87 and the data buffer 42 and will produce an output signal. This output signal will pass through the enabled gate 101, which will be the one corresponding to the third character position. This signal upon passing through the gate 101 will set the corresponding flipflop 75. Then when the character E arrives at the third print position, the signal applied on input 73 will reset the flipflop corresponding to the third character position causing the hammer firing circuit 77 to fire the hammer opposite the third character position and thus the character E will be printed. in a similar manner, characters corresponding to each of the binary codes stored in the registers 42 are printed in each of the print positions in the print line and when all of the characters pass by all the character positions, the entire row of characters will have been printed.

When the flipflop 92 is in its A state, it enables a gate 104, which receives the signals from the tone wheel applied over channel 73. When the gate 104 is enabled it passes the applied signals to be counted by a counter 106. Thus, the counter 106 will count each character as it passes through a given print position. When the printing chain has made one complete revolution and all its characters have passed by all of the character positions in the print line, the counter 106 will recycle to zero and produce an output signal which sets the flipflop 92 back to its B state, so that the gates 91 and 104 are no longer enabled. In this manner, the printer logic is disabled after a line of print has been printed. Then when the data buffer again is filled with a new line of characters to be printed, the data buffer 42 will again set the flipflop 92 to its A state to enable the printer logic to print the line of characters.

The output signal of the counter 106 is also applied to the printer control 50 to indicate to the printer control that the line of print has been printed. In response to receiving this signal, the printer control 50 energizes the motor 12 to advance the web 10 one line and then actuates the motor 26 to drive the transducer 22 to read out the code patterns printed adjacent to the character.

When the comparator 48 detects an error in the character represented by the signal read out by the transducer 22 as compared with that stored in the buffer 42, the printer control 50 will apply a signal through the OR gate to set the flipflop 92 to its A state to enable the printer logic to reprint the line of characters still stored in the data buffer 42.

FIG. 7 illustrates the details of the decoding circuit 46 which receives the pulses produced by the transducer 22 as it scans across a printed line. The specific circuit shown is for use only with the code in which at least one bit occurs in every pair of bit positions above and below a character. As pointed out above, the transducer 22 has two gaps which produces pulses in two channels corresponding to the bits recorded above and below the printed character. The pulses produced by the bits positioned above the character are applied to the decoder 46 over an input channel 121 as shown in FIG. 7, and the pulses produced from the bits recorded below the character are applied to the decoder over a channel 122. The pulses applied on channels 121 and 122 after being shaped and amplified by circuits 123 and 124 respectively are applied to gates 127 and 128, respectively. The printer control 50 will enable the gates 127 and 128 only when the transducer is being scanned across the printed line to read out the data therein. The pulses passing through the enabled gate 127 are applied to a series of four gates 131 through 134 and the pulses passing through the gate 128 are ap plied to a series of four gates 135 through 138. The pulses passing through the gates 127 and 128 are also applied through an OR gate 141 to a monostable multivibrator 143.

Pulses passing through the gates 127 and 128 produced by bits in both of a pair of bit positions will occur simultaneously since they will be read out simultaneously by the gaps 22a and 22b of the transducer. The monostable multivibrator 143 will produce a single output pulse in response to a single pulse passing through either the gate 127 or the gate 128 in response to pulses passing through both gates 127 and 128 simultaneously. Since each pair of bit positions has at least one bit either in the track above the printed character or in the track below the printed character, the monostable multivibrator 143 will produce an output pulse for each pair of bit positions.

The output pulses produced by the monostable multivibrator 143 are applied to a counter 145 which recycles after each count of four and enables the gates 131-134 in sequence as it counts and also enables the gates 135-138 in sequence as it counts. The outputs of the gates 131-134 applied to flipflops 151-154 and the outputs of the gates 135-138 are applied to flipflops 151-158. A pulse passing through one of the gates 131-135 to a corresponding one of the flipflops 151-158 will set the corresponding flipflop to store a binary 1. Thus, binary 1 s are distributed in the flipflops 151-158 as the pulses pass through the gates 127 and 128. The counter 145 is initially set to a state in which it enables the gates 131 and 135 by the printer control 51) so that the first pulses passing through either the gate 127 or the gate 128 will cause a 1 to be stored in the flipflop 151 or the flipflop 155. Succeeding pulses from the bits above and below the first character will then be distributed in the remaining flipflops under the control of counter 145. Each time the counter recycles to a condition in which it again enables the gates 131 and 135, it applies a pulse through a delay circuit 161 to reset all of the flipflops 151-158 to zero. In this manner, those of the flipflops 151-158 which do not receive a pulse when the corresponding ones of the gates 131-138 are enabled, correctly store binary zero.

Each time the counter 145 recycles to the condition in which it enables gates 131 and 135, all of the bits representing a character will have been read out and will have been stored in the flipflops 151-158. The flipflops 151-158 apply output signals representing the binary data stored therein to a decoding matrix 163 which decodes the applied binary signals to the form to represent the read out characters consistent with that with which they are represented by the signals stored in the data buffer 42. The resulting decoded binary signals produced by the matrix 163 are applied to the comparator 48. Each time the counter 145 recycles to the condition where it again enables the gates 131-135, the output signal produced by the counter 145 is applied to the comparator 145 to cause it to compare the signals produced by the decoding matrix 143 with signals applied from one of the registers in the data buffer The signals produced by the counter 145 each time it recycles are also applied to a counter 165 which enables a series of multiple channel gates 167 in sequence. The gates 167 receive the binary signal sets stored in the registers of the data buffer 42 and upon being enabled in sequence by the counter 165 apply the signals in sequence to the comparator 48 so that the comparator 48 compares the signals stored in the flipflops 151 through 155 after being decoded by the matrix 163 with the corresponding binary signals in the data buffer 42.

The comparator 48 upon being enabled by the signal applied from the counter 145 will produce an-output signal only if the signals applied from the matrix 163 and the signals applied from the data buffer 42 are not identical. If they are not identical the comparator 48 applies a signal to the printer control circuit 50 indicating an error. The printer control 50 will store this error signal and upon completion of the read out of the printed line by the transducer 22 will apply a signal to the printer logic44 to cause it to reprint the information in the data buffer in the same manner as has been described above.

If the code which is printed above and below the characters does not have at least one bit in every bit position, then instead of using monostable multivibrator 143 in the circuit shown in FIG. 7 a free running multivibrator is used operating at a frequency about equal to the rate at which pairs of bit positions pass by the gaps of the transducer 22. Each time the free running multivibrator receives a pulse from the OR gate 128, it is brought back into precise synchronization with the pairs of bit positions. Pulses are then derived from the free running multivibrator and fed to the counter 145 and the circuit otherwise operates in the same manner as has been described above.

In accordance with another feature of the invention, the output signals of the flipflops 151 through 158 are applied to a parity checking circuit as shown in FIG. 8. The parity checking circuit 170 determines whether the number of bits applied thereto is odd or even when the counter 145 produces an output signal upon recyling and generates an error signal indication on an output channel whenever the number of bits is odd. When the number of bits is even at the time the signal is applied from the counter, the circuit 1170 provides a parity correct signal indication on the output channel. When this feature is used one of the 6 bit positions above and below each character is reserved as the parity bit position and the bit is printed or omitted from this position to always make the number of bits in the plattem of six even. Thus, whenever an odd number of bits is read out and stored in the flipflops 151-158, the signals are in error and this will be indicated by the signal generated by the parity checking circuit.

As shown in FIG. 1, a transducer 171 senses the position of the belt 24 which provides the drive between'the transducer 22 and the motor 26. The start position of the transducer 22 is to the left of the web 10. When a line of print is to be read out, the print control 50 energizes the motor 26 to drive the transducer 22 from left to right reading out bits above and below the printed line of characters. The transducer 171 senses from the belt 24 when the transducer has read out the entire line and signals the print control 50 that the line has been read out. In response to receiving this signal, the print control 511 reverses the motor to bring the transducer 22 back to the start position. In addition, the printer control 50 at the time of receiving this signal, if no error signal has been received from the comparator 45, will clear the data buffer 42 making it ready to receive another line of characters to be printed. If an error signal has been received from the comparator 48, the printer control 50 will apply a signal to the printer logic 44 to cause it to reprint the characters in the data buffer 42 as has been described.

A further feature of the present invention, which may be incorporated in the embodiment just described, is shown in FIG. 9, which depicts a side view of a printing hammer 14 and a type element 19 which makes up a portion of the printing chain 16, with a sheet 10 passing therebetween, as in the previous embodiment. In this arrangement two ribbons are provided, one being a relatively narrow ribbon 252 impregnated with ink and disposed between the sheet and the type face so that an alphanumeric character can be printed on side 10a of the sheet upon a printing stroke of the hammer 14. The other ribbon 254 is of a full width, is impregnated with a depositable magnetic material at least near its edges, and is disposed between the web and the print hammer 14 so that the code pattern can be printed on the other side of the sheet. In this manner a person reading side 10a of the sheet 10 is provided with clean writing, not bracketed by the code pattern; while the code pattern is available on the rear of the card for data processing. If the ribbon 254 is impregnated with the ferric compound along its central portion, a mirror image of the alphanumeric characters will also be imprinted on side 1011 of the sheet. This mirror image will be a valuable aid in correlating the code patterns and the characters. If the mirror image of the character is not desired, a ribbon may be utilized which has no impregnation along its central portion.

The embodiment of FIGS. 10 and 11 provides a system for imprinting and reading information on a series of separate cards 260, which enter the system one at a time between a pair of pinch rollers 262 and 264, roller 262 being supported by a support member 266, and roller 264 being driven by a drive wheel 268 and a belt 270. The pinch rollers 260 and 262 advance the cards past a print line defined between a printing chain 272 driven by a motor 274, and a row of print hammers 276, which are constructed and arranged similarly to those disclosed in the arrangement of FIGS. 1 and 2.

Two pairs of rollers 280a, 280b, and 282a, 282b are rockable to one of two positions about a center shaft 284 by means of a solenoid 286. In the first position rollers 280a and 280b engage the card during the printing operation and form a pinch drive with a roller 2800 disposed below the card and driven by the belt 270, to advance the card. As in the case of the web 10 in the embodiment shown in FIG. 1, the cards 260 are ad vanced in steps past the print line by the drive wheel 268 and belt 270 with each line of print being printed at the print line between steps. After the printing of the card has been completed, the solenoid 286 moves the rollers 280a, 280b, 282a and 282b to the second position (as shown in FIG. 11), in which rollers 282a and 282b engage the card, and form a pinch drive with a roller 2820 disposed below the card. The roller 2820 is driven at a relatively high speed by a drive wheel 288, via a belt 290, so that the cards just printed can be fed past a fixed magnetic transducer 292 at a speed that is greater than the printing speed. The belt 290 also drives the bottom roller of pinch roller pairs 296 and 298 which drive the cards in seriatum past the transducer 292.

The transducer 292 has a plurality of pairs of gaps, one pair for each row of type on a card and reads out the bits printed above and below the characters in each row of characters as each card is driven past. It will be noted that the cards are read in a direction perpendicular to the print line. In other words, the printing is carried out by columns and the read out is by rows. For this reason, the characters and the pattern of bits are oriented as shown in FIG. 12 on the faces of the printing chain 272.

FIG. 13 shows still another embodiment in the form of a typewriter for printing the information on a sheet of material 10. In this arrangement a platen 300 is provided which moves the sheet at stepped intervals in the direction indicated by the arrow C by means of a pinion gear 302 driven by a rack 304. A type bar 310 has a head 312 comprising an alphanumeric character and a pattern of bits stored above and below the character like those in the above embodiments. The type bar 310 is pivotally mounted about a shaft 314 and is actuated by an actuating rod 316, which causes the head 312 to strike the sheet 10 through a ribbon 318, to print the particular alphanumeric character and code pattern. The sheet 10 may be advanced in the direction indicated by the arrow D by rotation of the platen. Only one type bar and its associated components have been shown in the interest of simplicity, it being understood that a plurality of type bars are provided carrying a full set of characters in the manner of a conventional typewriter so that any type bar may be selectively actuated to print the character carried thereby. Although it may be desirable to utilize this embodiment exclusively as a printing device it is understood that a transducer, along with its associated components, may be provided, in which case they could be mounted and operated as disclosed in either of the two previous embodiments.

In each of the above described embodiments, the printed code pattern representing each printed character comprises a plurality of bit positions arranged in parallel rows above and below the character as exemplified by the patterns shown in FIG. 4. The individual bits of the pattern comprise marks which are relatively long extending transversely to the direction in which they are read out and are longer than the space between the marks. The widths of the gaps 22a and 22b of the transducer for reading out the printed code is preferably less than the length of the code marks. For example, the code marks may be about 0.030 inches long and the gaps about 0.025 of an inch long. This feature together with the feature of locating the marks adjacent to each character and on opposite sides of each character allows relatively large margins for error in the position and size of the marks. In other words, the imprinted code marks may vary significantly in length and position and still be read easily by the transducer 22.

Variations of the specific construction and arrangement of the information printing and storage system disclosed above can be made by those skilled in the art without departing from the invention as defined in the appended claims.

I claim:

1. A printer comprising means to print alphanumeric characters in selected combinations and sequences, and means to print adjacent to each printed character a code pattern representing such character, the code patterns each comprising a plurality of bit positions and representing the adjacent character by the combination of presences and absences of bits in said bit positions, said bit positions occupying the space above and below the character represented thereby, each of said patterns comprising a plurality of pairs of bit positions, each pair of bit positions comprising a bit position above said character and a bit position below said character, said patterns being selected so that each of said pairs of bit positions contains at least one bit.

2. A printer as recited in claim 1 wherein said means to print a code pattern prints said code patterns in magnetic material.

3. A printer, as recited in claim 1, wherein said the presence of spaces. printer prints alphanumeric characters in selected combinations and sequences with spaces between said combinations, and said code pattern printing means ini cludes means to print adjacent to spaces between comblts magnenc materialbinations of said characters a code pattern representing 4. A printer as recited in claim 3 wherein said means to print said code pattern comprises means to print said 

1. A printer comprising means to print alphanumeric characters in selected combinations and sequences, and means to print adjacent to each printed character a code pattern representing such character, the code patterns each comprising a plurality of bit positions and representing the adjacent character by the combination of presences and absences of bits in said bit positions, said bit positions occupying the space above and below the character represented thereby, each of said patterns comprising a plurality of pairs of bit positions, each pair of bit positions comprising a bit position above said character and a bit position below said character, said patterns being selected so that each of said pairs of bit positions contains at least one bit.
 2. A printer as recited in claim 1 wherein said means to print a code pattern prints said code patterns in magnetic material.
 3. A printer, as recited in claim 1, wherein said printer prints alphanumeric characters in selected combinations and sequences with spaces between said combinations, and said code pattern printing means includes means to print adjacent to spaces between combinations of said characters a code pattern representing the presence of spaces.
 4. A printer as recited in claim 3 wherein said means to print said code pattern comprises means to print said bits in magnetic material. 